In order to optimize the operation of a system, a system may make use of dynamic voltage and frequency scaling. In such a system, parameters may be scaled in order to, for example, optimize performance and accuracy or minimize power consumption. In such a system, factors such as, for example, system voltage and frequency may be scaled to drive the system closer to failure in order to make power savings. For example, parameters of flip-flops in a critical path may be adjusted to drive the flip-flops closer to failure in order to reap the benefits of reduced power consumption. Such parameter adjustment may increase the chance of a flip-flop failing (or operating in error). In some systems, additional circuitry is provided to indicate a proximity of a flip-flop to failure, and the system parameters may be adjusted so that the chance of failure is acceptable in terms of the expected performance of the system.
An example of such additional circuitry is a canary flip-flop. Canary flip-flops may be implemented in conjunction with a data flip-flop, and may generate a warning that a data flip-flop is close to failure. In some examples, the system parameters may then be adjusted to prevent the failure of the data flip-flop. A balance should be found between the area and power required by the additional canary cell and the performance advantages that such a cell can afford.